/*
domain模块,提供Domain对象，
当应用程序在任何时刻抛出错误时可以通知该对象，由它统一处理

虽然服务器触发一个错误，但是客户端可以接收到错误信息
*/

var http = require('http');
var domain = require('domain');

http.createServer(function(req, res) {

	var d = domain.create();

	d.once('error', function(err){
		res.writeHead(200, {'Content-Type' : 'text/html'});
		res.write('<head><meta charset="utf-8" /></head>');
		res.write('接收客户端请求时发生以下错误：');
		res.end(err.message);
	});

	d.run(function() {
		if(req.url!=='/favicon.ico'){
			noneexist();
			res.writeHead(200, {'Content-Type' : 'text/html'});
			res.write('<head><meta charset="utf-8" /></head>');
			res.end("你好\n");
		}
	});

}).listen(1337, 'localhost');

